//<MStar Software>
//******************************************************************************
// MStar Software
// Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
// All software, firmware and related documentation herein ("MStar Software") are
// intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
// law, including, but not limited to, copyright law and international treaties.
// Any use, modification, reproduction, retransmission, or republication of all
// or part of MStar Software is expressly prohibited, unless prior written
// permission has been granted by MStar.
//
// By accessing, browsing and/or using MStar Software, you acknowledge that you
// have read, understood, and agree, to be bound by below terms ("Terms") and to
// comply with all applicable laws and regulations:
//
// 1. MStar shall retain any and all right, ownership and interest to MStar
//    Software and any modification/derivatives thereof.
//    No right, ownership, or interest to MStar Software and any
//    modification/derivatives thereof is transferred to you under Terms.
//
// 2. You understand that MStar Software might include, incorporate or be
//    supplied together with third party's software and the use of MStar
//    Software may require additional licenses from third parties.
//    Therefore, you hereby agree it is your sole responsibility to separately
//    obtain any and all third party right and license necessary for your use of
//    such third party's software.
//
// 3. MStar Software and any modification/derivatives thereof shall be deemed as
//    MStar's confidential information and you agree to keep MStar's
//    confidential information in strictest confidence and not disclose to any
//    third party.
//
// 4. MStar Software is provided on an "AS IS" basis without warranties of any
//    kind. Any warranties are hereby expressly disclaimed by MStar, including
//    without limitation, any warranties of merchantability, non-infringement of
//    intellectual property rights, fitness for a particular purpose, error free
//    and in conformity with any international standard.  You agree to waive any
//    claim against MStar for any loss, damage, cost or expense that you may
//    incur related to your use of MStar Software.
//    In no event shall MStar be liable for any direct, indirect, incidental or
//    consequential damages, including without limitation, lost of profit or
//    revenues, lost or damage of data, and unauthorized system use.
//    You agree that this Section 4 shall still apply without being affected
//    even if MStar Software has been modified by MStar in accordance with your
//    request or instruction for your use, except otherwise agreed by both
//    parties in writing.
//
// 5. If requested, MStar may from time to time provide technical supports or
//    services in relation with MStar Software to you for your use of
//    MStar Software in conjunction with your or your customer's product
//    ("Services").
//    You understand and agree that, except otherwise agreed by both parties in
//    writing, Services are provided on an "AS IS" basis and the warranty
//    disclaimer set forth in Section 4 above shall apply.
//
// 6. Nothing contained herein shall be construed as by implication, estoppels
//    or otherwise:
//    (a) conferring any license or right to use MStar name, trademark, service
//        mark, symbol or any other identification;
//    (b) obligating MStar or any of its affiliates to furnish any person,
//        including without limitation, you and your customers, any assistance
//        of any kind whatsoever, or any information; or
//    (c) conferring any license or right under any intellectual property right.
//
// 7. These terms shall be governed by and construed in accordance with the laws
//    of Taiwan, R.O.C., excluding its conflict of law rules.
//    Any and all dispute arising out hereof or related hereto shall be finally
//    settled by arbitration referred to the Chinese Arbitration Association,
//    Taipei in accordance with the ROC Arbitration Law and the Arbitration
//    Rules of the Association by three (3) arbitrators appointed in accordance
//    with the said Rules.
//    The place of arbitration shall be in Taipei, Taiwan and the language shall
//    be English.
//    The arbitration award shall be final and binding to both parties.
//
//******************************************************************************
//<MStar Software>

package com.mstar.cameracapturetest;
import android.hardware.Camera;

public class MCamera {
    public static final String TAG = "MCamera";

    public class Parameters {
        //special parameter keys for VE fake camera
        public static final String KEY_TRAVELING_MODE = "traveling-mode";
        public static final String KEY_TRAVELING_RES = "traveling-res";
        public static final String KEY_TRAVELING_MEM_FORMAT = "traveling-mem-format";
        public static final String KEY_TRAVELING_SPEED = "traveling-speed";
        public static final String KEY_TRAVELING_FRAMERATE = "traveling-frame-rate";
        public static final String KEY_MAIN_INPUT_SOURCE = "main-input-source";
        public static final String KEY_SUB_INPUT_SOURCE = "sub-input-source";

        // Special parameter keys for DWIN fake camera
        public static final String KEY_DWIN_CAPTURE_MODE = "dwincapture-mode";

        /**
             *  Vaules for key of VE fake camera
              */
        // Input source type
        public static final int MAPI_INPUT_SOURCE_VGA = 0;     ///<VGA input
        public static final int MAPI_INPUT_SOURCE_ATV = 1;     ///<TV input
        public static final int MAPI_INPUT_SOURCE_CVBS = 2;      ///<AV 1
        public static final int MAPI_INPUT_SOURCE_CVBS2 = 3;     ///<AV 2
        public static final int MAPI_INPUT_SOURCE_CVBS3 = 4;     ///<AV 3
        public static final int MAPI_INPUT_SOURCE_CVBS4 = 5;     ///<AV 4
        public static final int MAPI_INPUT_SOURCE_CVBS5 = 6;     ///<AV 5
        public static final int MAPI_INPUT_SOURCE_CVBS6 = 7;     ///<AV 6
        public static final int MAPI_INPUT_SOURCE_CVBS7 = 8;     ///<AV 7
        public static final int MAPI_INPUT_SOURCE_CVBS8 = 9;     ///<AV 8
        public static final int MAPI_INPUT_SOURCE_CVBS_MAX = 10; ///<AV max
        public static final int MAPI_INPUT_SOURCE_SVIDEO = 11;     ///<S-video 1
        public static final int MAPI_INPUT_SOURCE_SVIDEO2 = 12;     ///<S-video 2
        public static final int MAPI_INPUT_SOURCE_SVIDEO3 = 13;     ///<S-video 3
        public static final int MAPI_INPUT_SOURCE_SVIDEO4 = 14;     ///<S-video 4
        public static final int MAPI_INPUT_SOURCE_SVIDEO_MAX = 15;  ///<S-video max
        public static final int MAPI_INPUT_SOURCE_YPBPR = 16;     ///<Component 1
        public static final int MAPI_INPUT_SOURCE_YPBPR2 = 17;     ///<Component 2
        public static final int MAPI_INPUT_SOURCE_YPBPR3 = 18;     ///<Component 3
        public static final int MAPI_INPUT_SOURCE_YPBPR_MAX = 19;  ///<Component max
        public static final int MAPI_INPUT_SOURCE_SCART = 20;     ///<Scart 1
        public static final int MAPI_INPUT_SOURCE_SCART2 = 21;     ///<Scart 2
        public static final int MAPI_INPUT_SOURCE_SCART_MAX = 22;  ///<Scart max
        public static final int MAPI_INPUT_SOURCE_HDMI = 23;      ///<HDMI 1
        public static final int MAPI_INPUT_SOURCE_HDMI2 = 24;     ///<HDMI 2
        public static final int MAPI_INPUT_SOURCE_HDMI3 = 25;     ///<HDMI 3
        public static final int MAPI_INPUT_SOURCE_HDMI4 = 26;     ///<HDMI 4
        public static final int MAPI_INPUT_SOURCE_HDMI_MAX = 27;  ///<HDMI max
        public static final int MAPI_INPUT_SOURCE_DTV = 28;     ///<DTV
        public static final int MAPI_INPUT_SOURCE_DVI = 29;     ///<DVI 1
        public static final int MAPI_INPUT_SOURCE_DVI2 = 30;      ///<DVI 2
        public static final int MAPI_INPUT_SOURCE_DVI3 = 31;      ///<DVI 2
        public static final int MAPI_INPUT_SOURCE_DVI4 = 32;      ///<DVI 4
        public static final int MAPI_INPUT_SOURCE_DVI_MAX = 33;     ///<DVI max
        public static final int MAPI_INPUT_SOURCE_STORAGE = 34;   ///<Storage
        public static final int MAPI_INPUT_SOURCE_KTV = 35;       ///<KTV
        public static final int MAPI_INPUT_SOURCE_JPEG = 36;      ///<JPEG
        public static final int MAPI_INPUT_SOURCE_DTV2 = 37;      ///<DTV2
        public static final int MAPI_INPUT_SOURCE_STORAGE2 = 38;  ///<Storage2
        public static final int MAPI_INPUT_SOURCE_DTV3 = 39;      ///39 <DTV3
        public static final int MAPI_INPUT_SOURCE_SCALER_OP = 40; ///40<SCALER_OP

        // Traveling mode
        public static final int E_TRAVELING_ALL_VIDEO_WITH_OSD = 1;
        public static final int E_TRAVELING_ALL_VIDEO = 2;
        public static final int E_TRAVELING_2ND_VIDEO_AUTO = 3;
        public static final int E_TRAVELING_2ND_VIDEO_PROGRESSIVE_AUTO = 4;
        public static final int E_TRAVELING_1ST_VIDEO_AUTO = 5;
        public static final int E_TRAVELING_1ST_VIDEO_PROGRESSIVE_AUTO = 6;

        // DWIN Capture mode
        public static final int E_DWIN_CAPTURE_OP_ALL = 1;
        public static final int E_DWIN_CAPTURE_OP_VIDEO = 2;
        public static final int E_DWIN_CAPTURE_IP = 3;

        // Traveling resolution
        public static final int E_TRAVELING_RES_720_576 = 0;
        public static final int E_TRAVELING_RES_320_240 = 1;
        public static final int E_TRAVELING_RES_720_480 = 2;
        public static final int E_TRAVELING_RES_640_480 = 3;
        public static final int E_TRAVELING_RES_480_320 = 5;
        public static final int E_TRAVELING_RES_176_144 = 7;
        public static final int E_TRAVELING_RES_720_400 = 9;
        public static final int E_TRAVELING_RES_640_368 = 10;
        public static final int E_TRAVELING_RES_320_176 = 11;
        public static final int E_TRAVELING_RES_1280_720 = 12;
        public static final int E_TRAVELING_RES_1920_1080 = 13;

        // Traveling data format
        public static final int E_TRAVELING_MEM_FORMAT_YUV422_YUYV = 0;
        public static final int E_TRAVELING_MEM_FORMAT_ARGB8888 = 1;
        public static final int E_TRAVELING_MEM_FORMAT_ABGR8888 = 2;
        public static final int E_TRAVELING_MEM_FORMAT_YC420 = 3;

        // Traveling data speed
        public static final int E_TRAVELING_SPEED_SLOW = 0;
        public static final int E_TRAVELING_SPEED_MIDDLE = 1;
        public static final int E_TRAVELING_SPEED_FAST = 2;

        // Traveling frame format
        public static final int E_TRAVELING_EVENT_CALLBACK_NO_SIGNAL = 0;
        public static final int E_TRAVELING_EVENT_CALLBACK_UN_SUPPORT = 1;
        public static final int E_TRAVELING_EVENT_CALLBACK_STREAM_INFO = 2;
    }
}
